﻿/*---------------------------------------------------------------------*/
// fileName="INotify.cs" CompanyName="SureKAM"
// Copyright SureKAM (c). All right reserved.
/*---------------------------------------------------------------------*/

namespace SureKAM.BackUp.Notify.DataAccess
{
    using System.Collections.Generic;

    /// <summary>
    /// 通知者仓储接口
    /// </summary>
    public interface INotify
    {
        /// <summary>
        /// 添加一个通知都对象
        /// </summary>
        /// <param name="notify">通知者</param>
        /// <returns>返回添加成功的Guid对象</returns>
        string InsertNotify(Notify.Domain.Notify notify);

        /// <summary>
        /// 获取得有的通知者对象
        /// </summary>
        /// <returns>返回所有通知者列表</returns>
        List<Notify.Domain.Notify> GetNotifys();

        /// <summary>
        /// 更新通知者对象
        /// </summary>
        /// <param name="notify">通知者</param>
        /// <returns>返回修改成功的通知者</returns>
        Notify.Domain.Notify UpdateNotify(Notify.Domain.Notify notify);

        /// <summary>
        /// 根据ID获取相应的通知者对象
        /// </summary>
        /// <param name="id">通知者Guid</param>
        /// <returns>返回通知者</returns>
        Notify.Domain.Notify GetNotifyById(string id);

        /// <summary>
        /// 根据ID删除相关对象
        /// </summary>
        /// <param name="id">ID值</param>
        /// <returns>删除成功True 失败False</returns>
        bool DeleteNotify(string id);

        /// <summary>
        /// 将数据包存到文件
        /// </summary>
        /// <returns>返回Bool值</returns>
        bool SaveToFile();
    }
}
